package pers.xiaojun.boot.module.system.controller.auth.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * 登录请求对象
 *
 * @author xiaojun
 * @since 2025-10-04
 */
@Schema(description = "登录请求实体-VO")
@Data
public class AuthLoginReqVO {

    @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "xiaojun")
    @NotBlank(message = "用户名不能为空")
    @Size(min = 4, max = 12, message = "请输入4-12位字符的用户名")
    private String username;

    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
    @NotBlank(message = "密码不能为空")
    @Size(min = 6, max = 16, message = "请输入6-16位字符的密码")
    private String password;

    @Schema(description = "验证码Key", requiredMode = Schema.RequiredMode.REQUIRED, example = "b1b0b9681f864ac4902d1ba8d898367c")
    @NotBlank(message = "验证码Key不能为空")
    private String captchaKey;

    @Schema(description = "验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "5264")
    @NotBlank(message = "验证码不能为空")
    private String captchaValue;

}
